import java.util.Scanner;

public class test_1_7 {

//    //1.问题描述
//    //1221是一个非常特殊的数，它从左边读和从右边读是一样的，编程求所有这样的四位十进制数。
//    //输出格式：按从小到大的顺序输出满足条件的四位十进制数。
//
//    public static int check(int n){
//        String str=n+"";
//        char[] arr=str.toCharArray();
//        if(arr[0]==arr[3]&&arr[1]==arr[2]){
//            return n;
//        }
//        return -1;
//    }
//
//    public static void main(String[] args) {
//        for (int i = 1000; i <10000; i++) {
//            int tmp=i;
//            if(check(tmp)!=-1){
//                System.out.println(tmp);
//            }
//        }
//    }


//    //2.问题描述：回形取数就是沿矩阵的边取数，若当前方向上无数可取或已经取过，则左转90度。
//    //一开始位于矩阵左上角，方向向下。
//    //输入格式：输入第一行是两个不超过200的正整数m, n，表示矩阵的行和列。
//    //接下来m行每行n个整数，表示这个矩阵。
//    //输出格式：输出只有一行，共mn个数，为输入矩阵回形取数得到的结果。
//    //数之间用一个空格分隔，行末不要有多余的空格。
//    //样例输入：3 3
//    //        1 2 3
//    //        4 5 6
//    //        7 8 9
//    //样例输出：1 4 7 8 9 6 3 2 5
//    //样例输入：3 2
//    //        1 2
//    //        3 4
//    //        5 6
//    //样例输出：1 3 5 6 4 2
//
//    public static void main(String[] args) {
//        Scanner sc=new Scanner(System.in);
//        int n=sc.nextInt();
//        int m=sc.nextInt();
//        int[][] array=new int[n][m];
//        for (int i = 0; i < n; i++) {
//            for (int j = 0; j < m; j++) {
//                array[i][j]=sc.nextInt();
//            }
//        }
//        int n1=0;
//        int m1=0;
//        int a=0;
//        int b=0;
//        int min=Math.min(m,n);
//        for(int k=1;k<min;k++){
//            for (int i = n1; i <n-1 ; i++) {
//                System.out.print(array[i][m1]+" ");
//            }
//            n1=--n;
//            for (int j = m1; j <m-1 ; j++) {
//                System.out.print(array[n1][j]+" ");
//            }
//            m1=--m;
//            for (int i = n1; i >a ; i--) {
//                System.out.print(array[i][m1]+" ");
//            }
//            n1=a++;
//            for (int j = m1; j >b ; j--) {
//                System.out.print(array[n1][j]+" ");
//            }
//            m1=++b;
//            n1++;
//        }
//    }


//    //3.问题描述：输入一个正整数n，输出n!的值。
//    //其中n!=1*2*3*…*n。
//    //算法描述：n!可能很大，而计算机能表示的整数范围有限，需要使用高精度计算的方法。
//    //使用一个数组A来表示一个大整数a，A[0]表示a的个位，A[1]表示a的十位，依次类推。
//    //将a乘以一个整数k变为将数组A的每一个元素都乘以k，请注意处理相应的进位。
//    //首先将a设为1，然后乘2，乘3，当乘到n时，即得到了n!的值。
//    //输入格式：输入包含一个正整数n，n<=1000。
//    //输出格式：输出n!的准确值。
//    //样例输入：10
//    //样例输出：3628800
//
//    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        int n = sc.nextInt();
//        int array[] = new int[10000];
//        array[0] = 1;
//        for (int j = 1; j <= n; j++) {
//            for (int i = 0; i < array.length - 1; i++) {
//                array[i] = array[i] * j;
//            }
//            for (int i = 0; i < array.length - 1; i++) {
//                array[i + 1] = array[i + 1] + (array[i] / 10);
//                array[i] = array[i] % 10;
//            }
//        }
//        int index = 0;
//        for (int i = array.length - 1; i >= 0; i--) {
//            if (array[i] != 0) {
//                index = i;
//                break;
//            }
//        }
//        for (int i = index; i >= 0; i--) {
//            System.out.print(array[i]);
//        }
//    }



}



